zsApp
.controller( 'app',["$scope", "$http", "$state" , function( $scope, $http, $state ){
	$(".modal-backdrop").remove();
	// 储存ID
	$scope.appId = [];
	// 详情
	$scope.detailsInfo = {};
	// 修改
	$scope.editInfo = {};

    // $scope.appId = [];


	// 分页
	function dataRendering() {
		$scope.paginationConf = {
	        currentPage: 1,
	        totalItems: 100,
	        itemsPerPage: 10,
	        pagesLength: 15,
	        perPageOptions: [10, 20, 30, 40, 50],
	        onChange: function(){
	        	var self = this;
	        	if( (($scope.isRequestCurrentPage != self.currentPage) || ($scope.isRequestItemsPerPage != self.itemsPerPage)) && (new Date() - $scope.nowTime > 500) )
	        	{	
	        		$scope.nowTime = new Date();
					$http
					({
						url         : $scope.zsUrl+'digitalhome-boss/open/appManage/getappList',
						method      : 'POST',
						data        : {
						pageNumber  : self.currentPage,  
						pageSize 	: self.itemsPerPage,  
						}
					})
					.then
					(
						function success(res) {
                            angular.element(res.data.result).each(function(i) {
								var resultData = res.data.result[i];
								//（0待审核/4不合格/1正常/2冻结/3逻辑删除）
								if(resultData.status == '0'){
									res.data.result[i].status = '待审核';
								}
								if(resultData.status == '4'){
									res.data.result[i].status = '不合格';
								}
								if(resultData.status == '1'){
									res.data.result[i].status = '正常';
								}
								if(resultData.status == '2'){
									res.data.result[i].status = '冻结';
								}
								if(resultData.status == '3'){
									res.data.result[i].status = '逻辑删除）';
								}
								//应用类型;0普通应用1内部站点
								if(resultData.appType == '0'){
									res.data.result[i].appType = '普通应用';
								}else{
                                    res.data.result[i].appType = '内部站点'
								}
							});

							// 资源范围页面表格
							$scope.tabVal = res.data.result;
                            


								console.log($scope.tabVal.result);


						

							// 遍历所有资源范围ID
							angular.element(res.data.result).each(function(i) {
								$scope.appId[i] = this.appId;
							});
							// 总共有多少条数据
							self.totalItems = res.data.length;

						}, 
						function error(err) {
							console.log(err);
						}
					);

					$scope.isRequestCurrentPage = self.currentPage;
					$scope.isRequestItemsPerPage = self.itemsPerPage;

				}
	        }
	    }
    }
    dataRendering();



	$scope.newlyAdded = function($event) {	
		
   //      var addAutoDate = {
   //      	appKey       : $scope.details_app_key,
			// appSecret    : $scope.details_app_secret,
			// scope        : $scope.details_scope,
   //      }


  var addAutoDate = {
        	optType       : 1,		
        }

        $http
		({
			url         : $scope.zsUrl+'digitalhome-boss/open/appManage/addInit',
			method      : 'POST',
			data        : JSON.stringify(addAutoDate),/* 将JSON发送给服务器 */
			dataType    : 'json',
			contentType : 'application/json;charset=UTF-8',
		}).then(function success(res) {
			console.log(res.data.result.GrantType);
			// 操作提示
				$scope.details_app_id          = res.data.result.appId;				
				$scope.details_app_key         = res.data.result.appKey;
				$scope.details_app_secret      = res.data.result.appSecret;	
				$scope.details_grant_type      = res.data.result.GrantType;
				$scope.details_code 		   = res.data.result.code;
				// 重新加载页面
				// $state.go("index.app",{},{reload:true});

				//字符串转数组
				str=$scope.details_grant_type; 
			    var strs= new Array(); 
			    strs=str.split(","); 
				for (i=0;i<strs.length ;i++ ){} 
				$scope.details_grant_types = strs;
				//console.log($scope.details_grant_types);

		
	},
		function error(err){
			console.log(err);
		});
		// 关闭窗口
		$('#newlyAdded').modal('hide');


        var  textARRAY=[]

	}



	// 确定新增（新增一条资源范围数据）


     $scope.isSelected = function(name){  
        return $scope.selected.indexOf(name)>=0;          	
    }  

//user多选框
	$scope.selected = [];  
   // $scope.selectedTags = [];  
	//$scope.bindingUserdata = {};
    var updateSelected = function(action,userId,name){  
        if(action == 'add' && $scope.selected.indexOf(userId) == -1){  
            $scope.selected.push(userId);  
            $scope.selectedTags.push(name);          
        }
        if(action == 'remove' && $scope.selected.indexOf(userId)!=-1){  
            var idx = $scope.selected.indexOf(userId);  
            $scope.selected.splice(idx,1);  
            $scope.selectedTags.splice(idx,1);  
        }  
        
    }  
  


	$scope.confirmNewlyAdded = function() {	
		// 新增IP规则信息（封装成JSON）
		var appData = {
			appId        : $scope.details_appId,
			appName      : $scope.details_app_name,
			
			appUri       : $scope.details_app_url,
			appIp        : $scope.details_app_ip,
			scope        : $scope.details_scope,
			appType      : $scope.details_app_type,
			authType     : $scope.details_auth_type,
			responseType : $scope.details_response_type,
			grantType    : $scope.details_grant_type,
			status       : $scope.details_status,
			appSummary   : $scope.details_app_summary,
			
			
		}
		console.log($scope.details_app_summary);
        
        $scope.selected = [];

		$http
		({
			url         : $scope.zsUrl+'digitalhome-boss/open/appManage/add',
			method      : 'POST',
            data        : JSON.stringify(appData),/* 将JSON发送给服务器 */
			dataType    : 'json',
			contentType : 'application/json;charset=UTF-8',
 

 			
		}).then(function success(res) {
			console.log(res.status);
			// 操作提示
				
				
				// 重新加载页面
				$state.go("index.app",{},{reload:true});

		},
		function error(err){
			console.log(err);
		});
		// 关闭窗口
		$('#newlyAdded').modal('hide');
	}


	// 详情（用于展示从服务器获取的资源范围数据）
	$scope.details = function($event, $index) {
		//console.log($scope.appId[$index]);
		$http
		({
			url    : $scope.zsUrl+'digitalhome-boss/open/appManage/getAppsInfo/'+$scope.appId[$index]+'',
			method : 'GET',
		})
		.then(
			function success(res) 
			{ 
				console.log(res);
				$scope.details_app_id          = res.data.result.appId;
				$scope.details_app_image       = res.data.result.appImage;
				$scope.details_app_name        = res.data.result.appName;
				$scope.details_app_key         = res.data.result.appKey;
				$scope.details_app_secret      = res.data.result.appSecret;
				$scope.details_app_url         = res.data.result.appUri;	
				$scope.details_app_ip          = res.data.result.appIp;
				$scope.details_scope           = res.data.result.scope;
				$scope.details_app_type        = res.data.result.appType;
				$scope.details_auth_type       = res.data.result.authType;
				$scope.details_response_type   = res.data.result.responseType;
				$scope.details_grant_type      = res.data.result.grantType;
				$scope.details_status          = res.data.result.status;
				$scope.details_app_summary     = res.data.result.appSummary; 

			},
			function error(err) 
			{
				console.log(err);
			}
		);
	}

	// 修改（调用接口与“详情”相同，用于展示从服务器获取的IP规则）
	var __index = 0;
	$scope.edit = function($event, $index) {
		__index = $index;
		$http({
			url    : $scope.zsUrl+'digitalhome-boss/open/appManage/getScopesInfo/'+$scope.scopesId[$index]+'',
			method : 'GET',
		})
		.then(
			function success(res) {

				// 展示从服务器获取到的资源范围数据

				$scope.details_app_id          = res.data.result.appId;
				$scope.details_app_image       = res.data.result.appImage;
				$scope.details_app_name        = res.data.result.appKey;
				$scope.details_app_key         = res.data.result.scopeType;
				$scope.details_app_secret      = res.data.result.appSecret;
				$scope.details_app_url         = res.data.result.appUri;	
				$scope.details_app_ip          = res.data.result.appIp;
				$scope.details_scope           = res.data.result.scope;
				$scope.details_app_type        = res.data.result.appType;
				$scope.details_auth_type       = res.data.result.authType;
				$scope.details_response_type   = res.data.result.responseType;
				$scope.details_grant_type      = res.data.result.grantType;
				$scope.details_status          = res.data.result.status;
				$scope.details_app_summary     = res.data.result.appSummary; 

			     
			     // 应用类型下拉框（select）
				//应用类型;0普通应用1内部站点
				$scope.which_appType = [
					{
						'id' 	: 0,
						'name'  : '普通应用',
					},
					{
						'id' 	: 1,
						'name'  : '内部站点',
					},
					
				];
                
                // 授权类型下拉框（select）
				//授权类型; 系统授权/用户授权
				$scope.which_appType = [
					{
						'id' 	: 0,
						'name'  : '系统授权',
					},
					{
						'id' 	: 1,
						'name'  : '用户授权',
					},
					
				];

				// 状态下拉框（select）
				//状态;（0待审核/4不合格/1正常/2冻结/3逻辑删除）
				$scope.which_status = [
					{
						'id' 	: 0,
						'name'  : '待审核',
					},
					{
						'id' 	: 1,
						'name'  : '正常',
					},
					{
						'id' 	: 2,
						'name'  : '冻结',
					},
					{
						'id' 	: 3,
						'name'  : '逻辑删除',
					},
					{
						'id' 	: 4,
						'name'  : '不合格',
					},
				];
					
			},
			function error(err) {
				console.log(err);
			}
		);

	}

	// 确认修改（用于修改原有的IP规则）
	$scope.confirmEdit = function($event) {

		// 修改资源范围数据（封装成JSON）
		var editData = {
			code         : $scope.details_code,
			scopeName    : $scope.details_scope_name,
			scopeUri     : $scope.details_scope_url,
			scopeType    : $scope.details_scope_type,
			description  : $scope.details_description,
		}

		$http(
		{
			url   	    : $scope.zsUrl+'digitalhome-boss/open/appManage/modify',
			method      : 'POST',
			data        : JSON.stringify(editData), 	/* 将JSON发送给服务器 */
			dataType    : 'json',
			contentType : 'application/json;charset=UTF-8',
		})
		.then(function success(res) 
		{				
			// 重新加载页面
			$state.go("index.scopes",{},{reload:true});

		}, function error(err) 
		{
			console.log(err);
		});
	}

	// 删除（保存当前点击对象的$index、this指向）
	var _this = '', _index = 0;
	$scope.delete = function($event, $index) {
		
		// 当前对象（this指向不变）
		_this = angular.element($event.target);
		// 每一行的序列号
		_index = $index;
	}

	// 确定删除（用于删除应用管理数据）
	$scope.confirmDel = function($event) {

		console.log(_index);
		$http
		({
			url: $scope.zsUrl+'digitalhome-boss/open/appManage/deleteInfo/'+$scope.appId[_index]+'',
			method: 'GET',
			data: { appId: $scope.appId[_index] }, /* 给服务器发送需要删除的数据对应的ID */
		})
		.then
		(
			function success(res) {
				console.log(_index);
				// result_code == '0000' 则删除，否则不删除
				if( '0000' == res.data.result_code )
				{
					_this.parents('tr').remove();
				}
				else 
				{
					console.log(res.data);
				}
			},
			function error(err) {
				console.log(err);
			}
		);

	}


}]);

